home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Magazine / Online / QMail / man / cat5 / qmail-header.0 < prev    next >
Encoding:
Text File  |  1997-09-21  |  8.1 KB  |  199 lines

  1.  
  2.  
  3.  
  4. qmail-header(5)                                   qmail-header(5)
  5.  
  6.  
  7. NNAAMMEE
  8.        qmail-header - format of a mail message
  9.  
  10. OOVVEERRVVIIEEWW
  11.        At  the  top  of every mail message is a highly structured
  12.        hheeaaddeerr.  Many programs expect the header to carry  certain
  13.        information,  as  described  below.   The main function of
  14.        qqmmaaiill--iinnjjeecctt is to make sure that  each  outgoing  message
  15.        has an appropriate header.
  16.  
  17.        For more detailed information, see RFC 822 and RFC 1123.
  18.  
  19. MMEESSSSAAGGEE SSTTRRUUCCTTUURREE
  20.        A  message  contains  a  series  of _h_e_a_d_e_r _f_i_e_l_d_s, a blank
  21.        line, and a _b_o_d_y:
  22.  
  23.             Received: (qmail-queue invoked by uid 666);
  24.                  30 Jul 1996 11:54:54 -0000
  25.             From: djb@silverton.berkeley.edu (D. J. Bernstein)
  26.             To: fred@silverton.berkeley.edu
  27.             Date: 30 Jul 1996 11:54:54 -0000
  28.             Subject: Go, Bears!
  29.  
  30.             I've got money on this one.  How about you?
  31.  
  32.             ---Dan   (this is the third line of the body)
  33.  
  34.        Each header field has a _n_a_m_e, a colon, some _c_o_n_t_e_n_t_s,  and
  35.        a newline:
  36.  
  37.             Subject: Go, Bears!
  38.  
  39.        The  field  contents  may  be folded across several lines.
  40.        Each line past the first must begin with a space or tab:
  41.  
  42.             Received: (qmail-queue invoked by uid 666);
  43.                  30 Jul 1996 11:54:54 -0000
  44.  
  45.        The field name must not contain spaces, tabs,  or  colons.
  46.        Also,  an  empty field name is illegal.  qqmmaaiill--iinnjjeecctt does
  47.        not allow field names with unprintable characters.
  48.  
  49.        Case is irrelevant in field names: ssuubbjjeecctt and SSUUBBJJEECCTT and
  50.        SSuuBBjjEEccTT have the same meaning.
  51.  
  52. AADDDDRREESSSS LLIISSTTSS
  53.        Certain fields, such as TToo, contain _a_d_d_r_e_s_s _l_i_s_t_s.
  54.  
  55.        An  address  list  contains  some  number  of _a_d_d_r_e_s_s_e_s or
  56.        _a_d_d_r_e_s_s _g_r_o_u_p_s, separated by commas:
  57.  
  58.             a@b, c@d (Somebody), A Person <e@f>,
  59.                random group: g@h, i@j;, k@l
  60.  
  61.  
  62.  
  63.  
  64.                                                                 1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. qmail-header(5)                                   qmail-header(5)
  71.  
  72.  
  73.        An _a_d_d_r_e_s_s _g_r_o_u_p  has  some  text,  a  colon,  a  list  of
  74.        addresses, and a semicolon:
  75.  
  76.                random group: g@h, i@j;
  77.  
  78.        An  address  can appear in several forms.  The most common
  79.        form is _b_o_x_@_h_o_s_t.
  80.  
  81.        Every address must include a host name.   If  qqmmaaiill--iinnjjeecctt
  82.        sees a lone box name it adds the _d_e_f_a_u_l_t _h_o_s_t _n_a_m_e.
  83.  
  84.        All  host  names  should be fully qualified.  qqmmaaiill--iinnjjeecctt
  85.        appends the _d_e_f_a_u_l_t _d_o_m_a_i_n _n_a_m_e to any name without dots:
  86.  
  87.             djb@silverton  ->  djb@silverton.berkeley.edu
  88.  
  89.        It appends the _p_l_u_s _d_o_m_a_i_n _n_a_m_e to any name that ends with
  90.        a plus sign:
  91.  
  92.             eric@mammoth.cs+  ->  eric@mammoth.cs.berkeley.edu
  93.  
  94.        A host name may be a dotted-decimal address:
  95.  
  96.             djb@[128.32.183.163]
  97.  
  98.        RFC  822  allows  mailbox  names  inside angle brackets to
  99.        include _s_o_u_r_c_e _r_o_u_t_e_s, but qqmmaaiill--iinnjjeecctt strips all  source
  100.        routes out of addresses.
  101.  
  102. SSEENNDDEERR AADDDDRREESSSSEESS
  103.        qqmmaaiill--iinnjjeecctt looks for sender address lists in the follow-
  104.        ing fields: SSeennddeerr, FFrroomm, RReeppllyy--TToo,  RReettuurrnn--PPaatthh,  RReettuurrnn--
  105.        RReecceeiipptt--TToo, EErrrroorrss--TToo, RReesseenntt--SSeennddeerr, RReesseenntt--FFrroomm, RReesseenntt--
  106.        RReeppllyy--TToo.
  107.  
  108.        If there is no FFrroomm field, qqmmaaiill--iinnjjeecctt adds  a  new  FFrroomm
  109.        field with the name of the user invoking qqmmaaiill--iinnjjeecctt..
  110.  
  111.        RFC 822 requires that certain sender fields contain only a
  112.        single address, but qqmmaaiill--iinnjjeecctt  does  not  enforce  this
  113.        restriction.
  114.  
  115. RREECCIIPPIIEENNTT AADDDDRREESSSSEESS
  116.        qqmmaaiill--iinnjjeecctt looks for recipient address lists in the fol-
  117.        lowing fields:  TToo,  CCcc,  BBcccc,  AAppppaarreennttllyy--TToo,  RReesseenntt--TToo,
  118.        RReesseenntt--CCcc, RReesseenntt--BBcccc.
  119.  
  120.        Every  message  must contain at least one TToo or CCcc or BBcccc.
  121.        qqmmaaiill--iinnjjeecctt deletes any BBcccc field.  If there is no TToo  or
  122.        CCcc field, qqmmaaiill--iinnjjeecctt adds a line
  123.  
  124.             Cc: recipient list not shown: ;
  125.  
  126.        This  complies  with  RFC  822;  it also works around some
  127.  
  128.  
  129.  
  130.                                                                 2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. qmail-header(5)                                   qmail-header(5)
  137.  
  138.  
  139.        strange sseennddmmaaiill behavior, in case the message  is  passed
  140.        through sseennddmmaaiill on another machine.
  141.  
  142. SSTTAAMMPPSS
  143.        Every  message must contain a DDaattee field, with the date in
  144.        a strict format defined by RFC 822.  If  necessary  qqmmaaiill--
  145.        iinnjjeecctt  creates a new DDaattee field with the current date (in
  146.        GMT).
  147.  
  148.        Every message should  contain  a  MMeessssaaggee--IIdd  field.   The
  149.        field  contents are a unique worldwide identifier for this
  150.        message.  If necessary qqmmaaiill--iinnjjeecctt creates a new MMeessssaaggee--
  151.        IIdd field.
  152.  
  153.        Another  important field is RReecceeiivveedd.  Every time the mes-
  154.        sage is sent from one system to another,  a  new  RReecceeiivveedd
  155.        field  is  added  to the top of the message.  qqmmaaiill--iinnjjeecctt
  156.        does not create any RReecceeiivveedd fields.
  157.  
  158. RREESSEENNTT MMEESSSSAAGGEESS
  159.        A message is _f_o_r_w_a_r_d_e_d if it contains any of the following
  160.        fields:   RReesseenntt--SSeennddeerr,   RReesseenntt--FFrroomm,   RReesseenntt--RReeppllyy--TToo,
  161.        RReesseenntt--TToo, RReesseenntt--CCcc, RReesseenntt--BBcccc, RReesseenntt--DDaattee, RReesseenntt--MMeess--
  162.        ssaaggee--IIDD.
  163.  
  164.        If a message is forwarded, qqmmaaiill--iinnjjeecctt changes its behav-
  165.        ior as follows.
  166.  
  167.        It deletes any  RReesseenntt--BBcccc  field  (as  well  as  any  BBcccc
  168.        field);  if  there  are  no RReesseenntt--TToo or RReesseenntt--CCcc fields,
  169.        qqmmaaiill--iinnjjeecctt adds an appropriate RReesseenntt--CCcc line.  It  does
  170.        _n_o_t add a CCcc line, even if neither TToo nor CCcc is present.
  171.  
  172.        If  there is no RReesseenntt--FFrroomm field, qqmmaaiill--iinnjjeecctt adds a new
  173.        RReesseenntt--FFrroomm field.  It does _n_o_t add a new FFrroomm field.
  174.  
  175.        qqmmaaiill--iinnjjeecctt adds RReesseenntt--DDaattee if one is not  already  pre-
  176.        sent;  same  for  RReesseenntt--MMeessssaaggee--IIdd.   It does _n_o_t add new
  177.        DDaattee or MMeessssaaggee--IIdd fields.
  178.  
  179. OOTTHHEERR FFEEAATTUURREESS
  180.        Addresses are  separated  by  commas,  not  spaces.   When
  181.        qqmmaaiill--iinnjjeecctt sees an illegal space, it inserts a comma:
  182.  
  183.             djb fred  ->  djb, fred
  184.  
  185.        qqmmaaiill--iinnjjeecctt removes all RReettuurrnn--PPaatthh header fields.
  186.  
  187.        qqmmaaiill--iinnjjeecctt also removes any CCoonntteenntt--LLeennggtthh fields.
  188.  
  189. SSEEEE AALLSSOO
  190.        addresses(5), envelopes(5), qmail-inject(8)
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                                                 3
  197.  
  198.  
  199.